#ifndef HELICOPTERFORM_H
#define HELICOPTERFORM_H

#include <QMainWindow>
#include "scorebutton.h"
#include "droptimer.h"

namespace Ui {
    class HelicopterForm;
}

class HelicopterForm : public QMainWindow
{
    Q_OBJECT

    public:
        explicit HelicopterForm(QWidget *parent = 0);
        ~HelicopterForm();
        void CreateHelicopter();
        void ResetHelicopter();
        void CreateWagon();
        void ResetWagon();
        void CreateScoreButton();
        void ResetScoreButton();
        void DecNumSaved();
        void IncNumSaved();
        int helSpeed;
        int perSpeed;
        int dropLow;
        int dropHigh;
        int GetFreeObjectID();
        int GetFreeBloodID();
        void DeletePersonAndTimer(QString obID);
        void DeleteBloodAndTimer(QString obID);
        void PauseGame();
        void ResumeGame();
        static void LogEvent(QString log);
        void DisableScreenResolutions();
        QString GetFilePath(QString path);
        void loadSavedGame();
        void ToggleFullScreen();

    private:
        Ui::HelicopterForm *ui;
        void SetBackground(QString filepath);
        void MatchRatio();
        void SetResolution(int x, int y);
        int numSaved;
        void SetScore();
        void SetEasy();
        void SetMed();
        void SetHard();
        void SetCheat();
        bool isPaused;
        void CreatePausedLabel();
        void ResetPausedLabel();
        void DeleteDynamic();
        bool perID[101];
        bool bldID[101];

    private slots:
        void on_actionCheat_Mode_activated();
        void on_actionLoad_activated();
        void on_actionSave_activated();
        void on_actionPause_activated();
        void on_actionHard_activated();
        void on_actionMedium_activated();
        void on_actionEasy_activated();
        void on_action1680_x_1050_activated();
        void on_action2560_x_1920_activated();
        void on_action2560_x_1600_activated();
        void on_action1920_x_1201_activated();
        void on_action1920_x_1080_activated();
        void on_action1600_x_1200_activated();
        void on_action1440_x_900_activated();
        void on_action1366_x_768_activated();
        void on_action1360_x_768_activated();
        void on_action1280_x_1024_activated();
        void on_action1024_x_768_activated();
        void on_action800_x_600_activated();
        void on_actionQuit_activated();
        void on_actionEnter_Fullscreen_activated();
    protected:
        void keyPressEvent(QKeyEvent *event);
        void keyReleaseEvent(QKeyEvent *event);
};

#endif // HELICOPTERFORM_H
